{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b97cca98",
   "metadata": {},
   "source": [
    "# 宿舍人脸识别系统（非舍友本人图片）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "74e1ef02",
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "2364029b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 创建人脸库API\n",
    "# 1.url\n",
    "create_url = \"https://api-cn.faceplusplus.com/facepp/v3/faceset/create\"\n",
    "\n",
    "# 2.api账户/通行证\n",
    "API_key = 'jVvZmc_3Fnub6PS-UCZJovCn21Rd-BUf'\n",
    "API_secret = 'N2kKnsLpbE6vCY81kmcr3fL5ZFgRPtOR'\n",
    "\n",
    "# 3.POST\n",
    "\n",
    "# 4.权限：所有API KEY 都可以调用本API\n",
    "\n",
    "# 5.payload：酬载，必要阅读api文档中的 *必选项* 和 *可选性*，及 *参数说明*\n",
    "payload = {\n",
    "    'api_key':API_key,\n",
    "    'api_secret':API_secret,\n",
    "    'outer_id':\"西11-116\"\n",
    "}\n",
    "r = requests.post(url = create_url, params = payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "4d80553c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [400]>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "8d02aad8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'time_used': 104,\n",
       " 'error_message': 'FACESET_EXIST',\n",
       " 'request_id': '1648964233,4b4a274a-dc8b-4ff9-a0a4-69cb86f38bab'}"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "78d6cfb5",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 查询人脸库\n",
    "# 1. url\n",
    "getfacesets_url = \"https://api-cn.faceplusplus.com/facepp/v3/faceset/getfacesets\"\n",
    "payload = {\n",
    "    'api_key':API_key,\n",
    "    'api_secret':API_secret\n",
    "}\n",
    "r = requests.post(url = getfacesets_url, params = payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "ad201695",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9c92bb4d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'time_used': 88,\n",
       " 'facesets': [{'faceset_token': '6493fd9fc59520a0065070fa1d3be26a',\n",
       "   'outer_id': '',\n",
       "   'display_name': 'Kylie Jenner',\n",
       "   'tags': ''},\n",
       "  {'faceset_token': '6d4a02650435e771a75555d4b7040259',\n",
       "   'outer_id': '',\n",
       "   'display_name': 'Kylie Jenner',\n",
       "   'tags': ''},\n",
       "  {'faceset_token': '52471da8a9d0f1ddc26a8977b34f3535',\n",
       "   'outer_id': '',\n",
       "   'display_name': '',\n",
       "   'tags': ''},\n",
       "  {'faceset_token': '1ee6f8ce4a8fb11016b59347f8862d2c',\n",
       "   'outer_id': 'API020305',\n",
       "   'display_name': '2020级网新API周二上午班',\n",
       "   'tags': ''},\n",
       "  {'faceset_token': '205230ebd049d19d18bc8c663cd5d679',\n",
       "   'outer_id': 'API000000',\n",
       "   'display_name': '2020级网新API周二上午班',\n",
       "   'tags': ''},\n",
       "  {'faceset_token': '236292a31c9ad9d4d88ee8412cadff5d',\n",
       "   'outer_id': '',\n",
       "   'display_name': 'Kylie Jenner',\n",
       "   'tags': ''},\n",
       "  {'faceset_token': '47d8f0c7b7570cd9d3ba877293b707a2',\n",
       "   'outer_id': '',\n",
       "   'display_name': 'Kylie Jenner',\n",
       "   'tags': ''},\n",
       "  {'faceset_token': '9e004d7cebec1fb8644b43f16c5ff4f4',\n",
       "   'outer_id': '',\n",
       "   'display_name': '',\n",
       "   'tags': ''},\n",
       "  {'faceset_token': '8ffe889bdfd4f422a6b1a079eba87322',\n",
       "   'outer_id': '西11-116',\n",
       "   'display_name': '',\n",
       "   'tags': ''}],\n",
       " 'request_id': '1648965110,71d96ab7-9494-45e1-a917-4d58bc0e88d1'}"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "0db37c4f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'faceset_token': '8ffe889bdfd4f422a6b1a079eba87322',\n",
       " 'outer_id': '西11-116',\n",
       " 'display_name': '',\n",
       " 'tags': ''}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()['facesets'][-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "925072c6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'8ffe889bdfd4f422a6b1a079eba87322'"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "faceset_token = r.json()['facesets'][-1]['faceset_token']\n",
    "faceset_token"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "fd33ad24",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 人脸检测\n",
    "detect_url = \"https://api-cn.faceplusplus.com/facepp/v3/detect\"\n",
    "payload = {\n",
    "    'api_key':API_key,\n",
    "    'api_secret':API_secret,\n",
    "    'image_url':\"https://img0.baidu.com/it/u=1792960325,1842309289&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=613\"\n",
    "}\n",
    "r = requests.post(url = detect_url, params = payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "1e505027",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "a8a3f125",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'request_id': '1648965115,a64bf59d-195b-4184-9e4b-257b764297e9',\n",
       " 'time_used': 156,\n",
       " 'faces': [{'face_token': '5a99038b96a6a067e64012bad755bf72',\n",
       "   'face_rectangle': {'top': 74, 'left': 134, 'width': 82, 'height': 82}}],\n",
       " 'image_id': 'NXuFcvJg5s6qurdXTJifZQ==',\n",
       " 'face_num': 1}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "92bcecde",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_detect = r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "a2635fc6",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_token1 = face_detect['faces'][0]['face_token']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "81ca5eb1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'5a99038b96a6a067e64012bad755bf72'"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "face_token1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "e6cd2407",
   "metadata": {},
   "outputs": [],
   "source": [
    "detect_url = \"https://api-cn.faceplusplus.com/facepp/v3/detect\"\n",
    "payload = {\n",
    "    'api_key':API_key,\n",
    "    'api_secret':API_secret,\n",
    "    'image_url':\"https://img1.baidu.com/it/u=1450934646,4245667508&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\"\n",
    "}\n",
    "r = requests.post(url = detect_url, params = payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "7268e219",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "c99864a2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'request_id': '1648965118,968e8c76-b929-46fb-a5d3-27db95a4ed97',\n",
       " 'time_used': 98,\n",
       " 'faces': [{'face_token': 'cfd7f7a9e4ed446b575e1b63dc1e5fa8',\n",
       "   'face_rectangle': {'top': 127, 'left': 196, 'width': 95, 'height': 95}}],\n",
       " 'image_id': 'BKMZUEIEIhu62ahLtukgVQ==',\n",
       " 'face_num': 1}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "1a495c48",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_detect = r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "856807d5",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_token2 = face_detect['faces'][0]['face_token']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "c2a3177f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'cfd7f7a9e4ed446b575e1b63dc1e5fa8'"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "face_token2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "bff4140d",
   "metadata": {},
   "outputs": [],
   "source": [
    "detect_url = \"https://api-cn.faceplusplus.com/facepp/v3/detect\"\n",
    "payload = {\n",
    "    'api_key':API_key,\n",
    "    'api_secret':API_secret,\n",
    "    'image_url':\"https://img1.baidu.com/it/u=2926010184,1413369696&fm=253&fmt=auto&app=138&f=JPEG?w=353&h=500\"\n",
    "}\n",
    "r = requests.post(url = detect_url, params = payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "c6ee8aed",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "cea30cd5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'request_id': '1648965124,976a34e0-97ea-4603-ac55-464dc1467853',\n",
       " 'time_used': 83,\n",
       " 'faces': [{'face_token': 'c3bb245e116d04bb6bac0b70c917ce4f',\n",
       "   'face_rectangle': {'top': 75, 'left': 136, 'width': 71, 'height': 71}}],\n",
       " 'image_id': '/c6gkNg9huInXQJLF6M7Yg==',\n",
       " 'face_num': 1}"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "e1b7680b",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_detect = r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "b8a62c91",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_token3 = face_detect['faces'][0]['face_token']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "3b42a914",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'c3bb245e116d04bb6bac0b70c917ce4f'"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "face_token3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "8b8388c2",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 存入face_token数据\n",
    "addface_url = \"https://api-cn.faceplusplus.com/facepp/v3/faceset/addface\"\n",
    "payload = {\n",
    "    'api_key':API_key,\n",
    "    'api_secret':API_secret,\n",
    "    'faceset_token':faceset_token,\n",
    "    'face_tokens':'37dea522b7620c1ce6fdb93f35d77185,1ae42a0060b1740be579fe4409b6f650,f2445876b0f184afbd4e953329a75af6'\n",
    "}\n",
    "r = requests.post(url = addface_url, params = payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "6db295b7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "40b5f60f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'faceset_token': '8ffe889bdfd4f422a6b1a079eba87322',\n",
       " 'time_used': 120,\n",
       " 'face_count': 3,\n",
       " 'face_added': 0,\n",
       " 'request_id': '1648965129,be41e532-7f27-4fa0-a96d-be074031845b',\n",
       " 'outer_id': '西11-116',\n",
       " 'failure_detail': []}"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "0b849d57",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 人脸搜索\n",
    "search_url = \"https://api-cn.faceplusplus.com/facepp/v3/search\"\n",
    "payload = {\n",
    "    'api_key':API_key,\n",
    "    'api_secret':API_secret,\n",
    "    'faceset_token':faceset_token,\n",
    "    'image_url':\"https://img1.baidu.com/it/u=1914628682,4196462539&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=625\"\n",
    "}\n",
    "r = requests.post(url = search_url, params = payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "11890dd7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "cd48e399",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'image_id': 'lnNwIwRvMb26tnfrQ0LmDw==',\n",
       " 'faces': [{'face_rectangle': {'width': 122,\n",
       "    'top': 134,\n",
       "    'left': 184,\n",
       "    'height': 122},\n",
       "   'face_token': '530a09d6b48f9e65d21e0276d44abb3b'}],\n",
       " 'time_used': 558,\n",
       " 'thresholds': {'1e-3': 62.327, '1e-5': 73.975, '1e-4': 69.101},\n",
       " 'request_id': '1648965538,fb9d5715-3472-4bd9-92e3-8905362a9ebe',\n",
       " 'results': [{'confidence': 84.02,\n",
       "   'user_id': '',\n",
       "   'face_token': '1ae42a0060b1740be579fe4409b6f650'}]}"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "c0ab2f81",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_search = r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "c6113237",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_result = face_search['results'][0]['confidence']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "cb9aaaf7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "84.02"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "face_result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "4b3b7e03",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "yes\n"
     ]
    }
   ],
   "source": [
    "if face_result >60:\n",
    "    print(\"yes\")\n",
    "else:\n",
    "    print(\"no\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "b5919782",
   "metadata": {},
   "outputs": [],
   "source": [
    "search_url = \"https://api-cn.faceplusplus.com/facepp/v3/search\"\n",
    "payload = {\n",
    "    'api_key':API_key,\n",
    "    'api_secret':API_secret,\n",
    "    'faceset_token':faceset_token,\n",
    "    'image_url':\"https://img0.baidu.com/it/u=3805384110,2697676913&fm=253&fmt=auto&app=138&f=JPG?w=351&h=500\"\n",
    "}\n",
    "r = requests.post(url = search_url, params = payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "471f6b92",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "a30bd9da",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'image_id': 'LeDgf+sqTN23FcFI4ls1+w==',\n",
       " 'faces': [{'face_rectangle': {'width': 37,\n",
       "    'top': 44,\n",
       "    'left': 164,\n",
       "    'height': 37},\n",
       "   'face_token': 'de8e0575cd91b959a7ea13087307c979'}],\n",
       " 'time_used': 502,\n",
       " 'thresholds': {'1e-3': 62.327, '1e-5': 73.975, '1e-4': 69.101},\n",
       " 'request_id': '1648966720,84c3990a-1a05-47d4-95f3-585fdbe4ef96',\n",
       " 'results': [{'confidence': 51.242,\n",
       "   'user_id': '',\n",
       "   'face_token': '37dea522b7620c1ce6fdb93f35d77185'}]}"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "a5cf4d26",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_search1 = r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "6d0502df",
   "metadata": {},
   "outputs": [],
   "source": [
    "face_result1 = face_search1['results'][0]['confidence']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "dd24f70e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "51.242"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "face_result1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "7eacec18",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "no\n"
     ]
    }
   ],
   "source": [
    "if face_result1 >60:\n",
    "    print(\"yes\")\n",
    "else:\n",
    "    print(\"no\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "28dc4cbf",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
